package common

import (
	"fmt"
	"net/http"
	"net/url"
	"os"

	"github.com/spf13/viper"
	"github.com/tencentyun/cos-go-sdk-v5"
)

func InitClient() *cos.Client {
	// 存储桶名称，由bucketname-appid 组成，appid必须填入，可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket
	// 替换为用户的 region，存储桶region可以在COS控制台“存储桶概览”查看 https://console.cloud.tencent.com/ ，关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 。

	// 配置信息
	bucketname := viper.GetString("cos.bucketname")
	appId := viper.GetString("cos.appId")
	region := viper.GetString("cos.region")

	//拼接字符串
	u, _ := url.Parse(fmt.Sprintf("https://%s-%s.cos.%s.myqcloud.com", bucketname, appId, region))

	client := cos.NewClient(&cos.BaseURL{BucketURL: u},
		&http.Client{
			Transport: &cos.AuthorizationTransport{
				// SECRETID 表示用户的 SecretId，登录访问管理控制台查看密钥，https://console.cloud.tencent.com/cam/capi
				SecretID: os.Getenv("AKIDa1FKTcZOExUoxsgJispb8R6Wo5IUZP1W"),
				// SECRETKEY 表示用户的 SecretKey，登录访问管理控制台查看密钥，https://console.cloud.tencent.com/cam/capi
				SecretKey: os.Getenv("SCl6E9pIXu3QZTFukd9X5RG8oFQM7lBL"),
			},
		})
	return client
}
